﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// 生产领料子件
    /// </summary>
    public class MaterialDetailModel
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        public int Id { get; set; }
        /// <summary>
        /// 生产领料主键id
        /// </summary>
        public int ProductionId { get; set; }
        
        /// <summary>
        /// 序号（自动生成）
        /// </summary>
        public int Sequence { get; init; }

        /// <summary>
        /// 产品名称（必填）
        /// </summary>
        public string ProductName { get; set; }

        /// <summary>
        /// 产品编号（可选）
        /// </summary>
        public string? ProductNumber { get; set; }

        /// <summary>
        /// 型号（可选）
        /// </summary>
        public string? Model { get; set; }

        /// <summary>
        /// 单位（如"个"、"千克"）
        /// </summary>
        public string Unit { get; set; } 

        /// <summary>
        /// 领料数量（必填，需>0）
        /// </summary>
        public int MaterialQuantity { get; set; }

        /// <summary>
        /// 出库库管（必填）
        /// </summary>
        public string WarehouseManager { get; set; }

        /// <summary>
        /// 现有库存（自动显示）
        /// </summary>
        public int ExistingInventory { get; init; }

        /// <summary>
        /// 交货日期（可选）
        /// </summary>
        public DateTime? DeliveryDate { get; set; }

        /// <summary>
        /// 备注（可选）
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 领料方式（如"自提"、"配送"）
        /// </summary>
        public string MaterialMethod { get; set; } 

        /// <summary>
        /// 关联单据（可选）
        /// </summary>
        public string? RelatedDocument { get; set; }
    }
}
